package com.account.book.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author liang-hw
 * @className BookParam
 * @description 账本请求参数
 * @date 2023/11/08 10:07:07
 */
@Data
@ApiModel(value = "账本请求参数")
public class BookQueryReqVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("系统id")
    private String id;

    @ApiModelProperty("账本名称")
    @NotNull(message = "账本名称不能为空")
    private String bookName;

    @ApiModelProperty("账本图片")
    private String bookAvatar;

    @ApiModelProperty("成员加入账本是否需要审核（0-不需要 1-需要管理员审核）")
    private Integer userAudit;

    @ApiModelProperty("是否允许对外搜索私密账本（0-私密不允许，1-公开允许）")
    private Integer showSearch;

    @ApiModelProperty("预算")
    private BigDecimal budget;

    @ApiModelProperty("0-删除，1-正常，2-禁用")
    private Integer status;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("否是默认账本(0-否，1是）")
    private Integer defaultBook;
}
